﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Common.Utilities
{
    /// <summary>
    /// 
    /// </summary>
    [Serializable]
    public class FieldStat
    {
        private string _FieldName;
        /// <summary></summary>
        public string FieldName
        {
            get
            {
                return this._FieldName;
            }
            set
            {
                this._FieldName = value;
            }
        }

        private SimpleDataType _DataType;
        /// <summary></summary>
        public SimpleDataType DataType
        {
            get
            {
                return this._DataType;
            }
            set
            {
                this._DataType = value;
            }
        }

        private object _MaxValue;
        /// <summary></summary>
        public object MaxValue
        {
            get
            {
                return this._MaxValue;
            }
            set
            {
                this._MaxValue = value;
            }
        }

        private object _MinValue;
        /// <summary></summary>
        public object MinValue
        {
            get
            {
                return this._MinValue;
            }
            set
            {
                this._MinValue = value;
            }
        }

        private object _Average;
        /// <summary></summary>
        public object Average
        {
            get
            {
                return this._Average;
            }
            set
            {
                this._Average = value;
            }
        }

        private object _Mode;
        /// <summary></summary>
        public object Mode
        {
            get
            {
                return this._Mode;
            }
            set
            {
                this._Mode = value;
            }
        }

        private int _Count;
        /// <summary></summary>
        public int Count
        {
            get
            {
                return this._Count;
            }
            set
            {
                this._Count = value;
            }
        }

        private int _MissingValueCount;
        /// <summary></summary>
        public int MissingValueCount
        {
            get
            {
                return this._MissingValueCount;
            }
            set
            {
                this._MissingValueCount = value;
            }
        }

        private int _DistinctValueCount;
        /// <summary></summary>
        public int DistinctValueCount
        {
            get
            {
                return this._DistinctValueCount;
            }
            set
            {
                this._DistinctValueCount = value;
            }
        }

        private object _SD;
        /// <summary></summary>
        public object SD
        {
            get
            {
                return this._SD;
            }
            set
            {
                this._SD = value;
            }
        }

        private Dictionary<object,int> _Distributions;
        /// <summary></summary>
        public Dictionary<object, int> Distributions
        {
            get
            {
                return this._Distributions;
            }
            set
            {
                this._Distributions = value;
            }
        }
    }
}
